#!/bin/bash

# 增强版K线数据同步脚本
# 用于同步币安历史K线数据到增强版表结构

echo "===== 币安K线增强版数据同步 ====="
echo "开始时间: $(date '+%Y-%m-%d %H:%M:%S')"

# 检查是否在服务器上运行
if [ -d "/var/www/binance-analysis" ]; then
  # 服务器环境
  cd /var/www/binance-analysis
else
  # 本地环境
  SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
  cd "${SCRIPT_DIR}/.."
fi

echo "当前工作目录: $(pwd)"

# 确保日志目录存在
mkdir -p logs

# 停止所有正在运行的同步脚本
echo "停止当前正在运行的同步脚本..."
pkill -f "node.*sync_enhanced_data.js" || true

# 检查数据库表是否存在
echo "检查数据库表结构..."
mysql -u root -pBinanceRoot2023 -h 182.160.6.140 binance_klines -e "
  SHOW TABLES LIKE 'kline_%_enhanced';" > /tmp/tables_check.txt

# 要同步的时间周期
INTERVALS=("10m" "30m" "1h" "1d")

# 启动时间周期同步进程
for interval in "${INTERVALS[@]}"; do
  echo "开始在后台同步${interval}周期K线数据..."
  
  # 创建唯一的日志文件名
  log_file="logs/sync_enhanced_${interval}_$(date '+%Y%m%d_%H%M%S').log"
  
  # 启动同步进程
  nohup node scripts/sync_enhanced_data.js ${interval} > ${log_file} 2>&1 &
  pid=$!
  
  echo "${interval}同步进程已启动，PID: $pid"
  echo "日志文件: ${log_file}"
  
  # 等待2秒，避免并发请求API限制
  sleep 2
done

echo "所有同步进程已启动，可以通过以下命令查看进程状态:"
echo "  ps aux | grep sync_enhanced_data.js"
echo "可以通过以下命令查看日志:"
echo "  tail -f logs/sync_enhanced_*.log"
echo "可以通过以下命令停止所有同步:"
echo "  pkill -f 'node.*sync_enhanced_data.js'"

echo "结束时间: $(date '+%Y-%m-%d %H:%M:%S')"
echo "===== 同步过程已在后台启动 =====" 